User vacillation detection and response

ABSTRACT

An embodiment of the present invention automatically detects when a user is in a state of vacillation based on user on-line behavior, records relevant parameters regarding the vacillation event, and then responds accordingly. This response may include providing relevant and/or targeted information that can be used by the user to help remove the indecision. The response may also or alternatively include providing third-party businesses, such as retailers, marketers, and advertisers, with information about vacillation events and associated behaviors for a single user or groups of users so that such businesses can identify potential markets/customers or directly engage similar users to facilitate the decision-making process.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention generally relates to systems and methods for automaticallydetecting and responding to the on-line behavior of a user or users.

2. Background

In online commerce, consumers face an increasingly large number ofvirtual storefronts, prices, and purchase options and incentives. As aresult, Internet users are often caught in a state ofindecision—vacillating between products, vacillating between vendors,vacillating between service providers, and the like. It would bebeneficial if a computer system could detect when individuals are in astate of indecision and then respond accordingly. For example, theresponse might include providing relevant and/or targeted informationthat could be used by the individuals to help remove the uncertainty. Asanother example, the response might include providing third-partybusinesses, such as retailers, marketers, and advertisers, withinformation about vacillating users so that such businesses can identifypotential markets/customers or directly engage such users to facilitatethe decision-making process. Unfortunately, no such system currentlyexists.

BRIEF SUMMARY OF THE INVENTION

An embodiment of the present invention automatically detects when a useris in a state of vacillation based on user on-line behavior, records therelevant parameters regarding the vacillation event, and then respondsaccordingly. This response may include providing relevant and/ortargeted information that can be used by the user to help remove theindecision. The response may also or alternatively include providingthird-party businesses, such as retailers, marketers, and advertisers,with information about vacillation events and associated behaviors for asingle user or groups of users so that such businesses can identifypotential markets/customers or directly engage similar users tofacilitate the decision-making process.

In particular, a method for detecting and responding to user vacillationis described herein. In accordance with the method, informationassociated with on-line behavior of a user is obtained. The obtainedinformation may be associated with on-line activities performed by theuser during one or more Internet browsing sessions or with on-lineactivities performed by the user via one or more client systems ordevices. A vacillation pattern is then automatically detected based onthe obtained information. Detecting the vacillation pattern may include,for example, detecting a pattern of vacillating between potentiallypurchasing different objects or detecting a pattern of vacillatingbetween potentially purchasing and not purchasing a single object.Information relating to at least one object associated with thevacillation pattern is then presented to the user in response to thedetection of the vacillation pattern. The information relating to the atleast one object may include, for example, supplemental informationassociated with the at least one object, an advertisement associatedwith the at least one object, and/or a commercial incentive associatedwith the at least one object. The at least one object may comprise, forexample, a product, service or vendor.

The foregoing method may further include constructing a vacillationevent data structure based on the obtained information in response todetecting the vacillation pattern, wherein the vacillation event datastructure identifies one or more objects associated with the vacillationpattern. In such an embodiment, providing the information relating to atleast one object associated with the vacillation pattern may includeproviding information relating to at least one object identified in thevacillation event data structure.

An alternate method for detecting and responding to user vacillation isalso described herein. In accordance with the alternate method,information associated with on-line behavior of a user is obtained. Avacillation pattern is then automatically detected based on the obtainedinformation. Information associated with the vacillation pattern is thenstored in a data warehouse. The stored information is then provided to abusiness entity, wherein the business entity comprises one of aretailer, marketer or advertiser.

In accordance with the foregoing method, storing the informationassociated with the vacillation pattern in the data warehouse mayinclude constructing a vacillation event data structure based on theobtained information, wherein the vacillation event data structureidentifies one or more objects associated with the vacillation pattern,and storing the vacillation event data structure in the data warehouse.Storing the information associated with the vacillation pattern in thedata warehouse may also include storing feedback information associatedwith on-line behavior of the user in response to the presentation to theuser of information relating to at least one object associated with thevacillation pattern.

In further accordance with the foregoing method, providing the storedinformation to a business entity may include generating statisticalinformation derived from an analysis of the behavior of a plurality ofusers, wherein the generation of the statistical information is based inpart on the stored information, and providing the statisticalinformation to the business entity.

A system for detecting and responding to user vacillation is alsodescribed herein. The system includes one or more logs, a vacillationdetector and a vacillation presentation system. The one or more logs areconfigured to store information associated with on-line behavior of auser, such as, for example, information associated with on-lineactivities performed by the user during one or more Internet browsingsessions and/or information associated with on-line activities performedby the user via one or more client systems or devices. The vacillationdetector is configured to obtain the information associated with theon-line behavior of the user from the one or more logs and toautomatically detect a vacillation pattern based on the obtainedinformation. The vacillation pattern may comprise, for example, apattern of vacillating between potentially purchasing different objectsor a pattern of vacillating between potentially purchasing and notpurchasing a single object. The vacillation presentation system isconfigured to provide information relating to at least one objectassociated with the vacillation pattern to the user in response to thedetection of the vacillation pattern by the vacillation detector. Forexample, the vacillation presentation system may be configured toprovide at least one of supplemental information associated with the atleast one object, an advertisement associated with the at least oneobject, and a commercial incentive associated with the at least oneobject. The at least one object associated with the vacillation patternmay comprise one of a product, service or vendor.

In an embodiment, the foregoing system further includes a vacillationpackager. The vacillation packager is configured to construct avacillation event data structure based on the obtained information inresponse to the detection of the vacillation pattern by the vacillationdetector, wherein the vacillation event data structure identifies one ormore objects associated with the vacillation pattern. In accordance withsuch an embodiment, the vacillation presentation system is configured toprovide information relating to at least one object identified in thevacillation event data structure.

An alternate system for detecting and responding to user vacillation isalso described herein. The alternate system includes one or more logs, avacillation detector, a vacillation packager and a third-partydistribution system. The one or more logs are configured to storeinformation associated with on-line behavior of a user. The vacillationdetector is configured to obtain the information associated with theon-line behavior of the user from the one or more logs and toautomatically detect a vacillation pattern based on the obtainedinformation. The vacillation packager is configured to store informationassociated with the vacillation pattern in a data warehouse. Thethird-party distribution system is configured to provide the storedinformation to a business entity, wherein the business entity comprisesone of a retailer, marketer or advertiser.

In accordance with the foregoing system, the vacillation packager may beconfigured to construct a vacillation event data structure based on theobtained information in response to the detection of the vacillationpattern by the vacillation detector, wherein the vacillation event datastructure identifies one or more objects associated with the vacillationpattern, and to store the vacillation event data structure in the datawarehouse. The vacillation packager may also be configured to storefeedback information in the data warehouse, wherein the feedbackinformation is associated with on-line behavior of the user in responseto the presentation to the user of information relating to at least oneobject associated with the vacillation pattern.

In further accordance with the foregoing system, the third-partydistribution system is configured to generate statistical informationderived from an analysis of the behavior of a plurality of users,wherein the generation of the statistical information is based in parton the stored information and to provide the statistical information tothe business entity.

Further features and advantages of the invention, as well as thestructure and operation of various embodiments of the invention, aredescribed in detail below with reference to the accompanying drawings.It is noted that the invention is not limited to the specificembodiments described herein. Such embodiments are presented herein forillustrative purposes only. Additional embodiments will be apparent topersons skilled in the relevant art(s) based on the teachings containedherein.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form partof the specification, illustrate the present invention and, togetherwith the description, further serve to explain the principles of theinvention and to enable a person skilled in the relevant art(s) to makeand use the invention.

FIG. 1 is a high-level block diagram of a system that automaticallydetects and responds to user vacillation in accordance with anembodiment of the present invention.

FIG. 2 is a block diagram of an example system by which user on-linebehavior information may be collected and stored in logs in accordancewith an embodiment of the present invention.

FIG. 3 is a block diagram of an example system by which user on-linebehavior information may be collected from a plurality of differentclient systems/devices and stored in logs in accordance with anembodiment of the present invention.

FIG. 4 is a block diagram of an example system by which a vacillationpresentation may be provided to a user in accordance with an embodimentof the present invention.

FIG. 5 is a flowchart of a first method for detecting and responding touser vacillation in accordance with an embodiment of the presentinvention.

FIG. 6 is a flowchart of a second method for detecting and responding touser vacillation in accordance with an embodiment of the presentinvention.

FIG. 7 is a block diagram of a computer system that may be used toimplement aspects of the present invention.

The features and advantages of the present invention will become moreapparent from the detailed description set forth below when taken inconjunction with the drawings, in which like reference charactersidentify corresponding elements throughout. In the drawings, likereference numbers generally indicate identical, functionally similar,and/or structurally similar elements. The drawing in which an elementfirst appears is indicated by the leftmost digit(s) in the correspondingreference number.

DETAILED DESCRIPTION OF THE INVENTION A. Example System for UserVacillation Detection and Response

FIG. 1 is a high-level block diagram of a system 100 that automaticallydetects and responds to user vacillation in accordance with anembodiment of the present invention. As will be described in more detailherein, system 100 advantageously provides a generalized framework forfinding, interpreting and acting on a very common form of userbehavior—namely, user vacillation or indecision. Each of the elements ofsystem 100 will now be briefly described, with additional details to beprovided in subsequent sections.

As shown in FIG. 1, information associated with the on-line behavior ofa user 102 is generated and stored in one or more logs 104. This datamay include, for example, Web pages or Web sites visited or viewed,entities interacted with on a Web page, advertisements displayed,queries made, or the like.

A vacillation detector 106 is configured to obtain certain information(denoted “events”) from logs 104 and to use such information to infervacillations patterns associated with user 102. To perform thisfunction, vacillation detector 106 is configured to accurately model theindecision of a user and detect cases in which a user engages inrepetitive behavior. Once vacillation detector 106 has detected avacillation pattern associated with user 102, vacillation detector 106passes information associated with the detected vacillation pattern to avacillation packager 108.

Vacillation packager 108 obtains information associated with detectedvacillation patterns from vacillation detector 106 and uses suchinformation to construct a Vacillation Event Model (VEM). As will bedescribed in more detail herein, a VEM is a data structure that includescore information about a detected vacillation pattern.

After a VEM has been constructed, at least two actions may be taken withrespect to the VEM. First, the VEM can be used to directly engage user102 in a decision-making process via a vacillation presentation system110. Vacillation presentation system 110 is configured to provide avacillation presentation to user 102 via a user interface. Such avacillation presentation may include, for example, supplementalinformation for a user in a state of vacillation, advertising relatingto products, services or vendors involved in the vacillation, or couponsor other commercial incentives for a product, service or vendor involvedin the vacillation.

Second, the VEM may be stored in a vacillation data warehouse 112.Vacillation data warehouse 112 can thus act as a repository for VEMsassociated with multiple users. As shown in FIG. 1, other supplementaldata that may be stored in vacillation data warehouse 112 may includeevents data that did not result in the detection of a vacillationpattern by vacillation detector 106 and/or feedback obtained from user102 during the engagement and decision making process initiated byvacillation presentation system 110.

Data stored in vacillation data warehouse 112 can advantageously be usedto generate statistics about user behavior in general. For example, suchstatistics may relate to relationships between objects and audiences,relationships between objects, relationships between information sourcesand detected vacillation events, and relationships between objects andvacillation presentation outcomes. As used herein, the term objectrefers to any artifact that can act as a source of user indecision,including but not limited to products, services or vendors. For example,and without limitation, an object may comprise a digital camera, a loanprovider, a vacation package, or a competitive store for digital goods.

The VEMs and supplemental information stored in vacillation datawarehouse 112 as well as the statistics generated therefrom canadvantageously be used to improve the performance of vacillationdetector 106 by providing a basis for enhancing the modeling of uservacillation. Furthermore, such information may be monetized by sellingit to third parties 116, such as retailers, marketers, and advertisers,which may use such information to identify potential markets/customersand to engage vacillating users in a manner independent of that shown inFIG. 1. This information may be provided to third parties 116 via athird-party distribution system 114. The information may be compiled andprovided to third parties 116 in real time in response to the activitiesof user 102 or compiled as statistics off-line ex post facto.

System 100 also provides an optional “null” vacillation presentationthat may be implemented in the form of a user call-out. For example,although vacillation detector 106 may not detect vacillation on the partof user 102, an interface may nevertheless be provided to user 102 bywhich user 102 can request engagement in a decision-making process. Forexample, the interface may comprise a button or other selectable userinterface object that essentially states “Help, I cannot decide.” Anyactions performed in response to user engagement via this “null”vacillation presentation may provide the same outcomes as any othervacillation presentation described herein.

1. Collection of User On-Line Behavior Information

FIG. 2 depicts an example system 200 by which user on-line behaviorinformation may be collected and stored in logs 104 in accordance withan embodiment of the present invention. As shown in FIG. 2, system 200includes a client system/device 202 that is communicatively connected toa server computer 206 via a network 204. In one implementation, network204 comprises the Internet. However, the invention is not so limited andnetwork 204 may comprise any type of network or combination of networksincluding wide area networks, local area networks, private networks,public networks, packet networks, circuit-switched networks, and wiredor wireless networks.

Server computer 206 is a processor-based machine or system that isconfigured to execute a Web server 212. Generally speaking, Web server212 is a computer program that is configured to receive HTTP (HypertextTransfer Protocol) requests from one or more Web browsers, such as a Webbrowser 210 executing on client system/device 202, and to serve HTTPresponses to the Web browsers in response to receiving the requests.Such HTTP responses may be served with data content, which usuallycomprises Web pages such as HTML documents and linked objects.

Web pages received by Web browser 210 are displayed to a user via a userinterface of client system/device 202. Web browser 210 is configured toallow the user to interact in a well-known manner with objects withinthe Web pages to issue requests to Web server 212 and to receive furthercontent in response to those requests. Client system/device 202 isintended to represent any processor-based system or device capable ofrunning a Web browser or like software for requesting and receivingcontent over a network. Client system/device 202 may comprise, forexample and without limitation, a personal computer, a laptop computer,a game console, cellular telephone, personal digital assistant, portablemedia player, or the like.

In accordance with an embodiment of the present invention, informationassociated with certain activities performed or initiated by a user ofWeb browser 210 while in communication with Web server 212 are recordedin logs 104. Logs 104 are databases that are stored in memory that maybe either internal or external with respect to server computer 206. Theinformation stored in logs 104 is thus representative of the on-linebehavior of a user. An example of information that may be stored in logs104 includes Web pages or Web sites visited or viewed, entitiesinteracted with on a Web page, advertisements displayed, queries made,or the like. Other examples of information that may be stored in logs104 include keywords, objects, qualifiers (metadata about objects),classes of objects, accessories to objects, and/or reviews of objects.

Information associated with the activities of a user may be collectedduring a single Web-browsing session initiated from client system/device202 or across multiple Web-browsing sessions initiated from clientsystem/device 202. The information may also be collected from userinteraction with one or multiple Web sites. Such Web sites may include,for example, shopping Web sites or search Web sites. Furthermore, suchuser on-line behavior information may be generated by a user based onnetwork interactions originating from a plurality of different clientsystems/devices. For example, as shown in system 300 of FIG. 3, a singleuser may engage in on-line activities via a plurality of clientsystems/devices such as a personal computer system 302 a, a laptopcomputer 302 b and a cellular telephone 302 c. In accordance with anembodiment of the present invention, servers 306 (which arecommunicatively connected to client systems/devices 302 a, 302 b and 302c via a network 304) each record information associated with certainon-line activities performed or initiated by the user of clientsystems/devices 302 a, 302 b and 302 c in logs 104.

2. Vacillation Detection

As discussed above in reference to system 100 of FIG. 1, vacillationdetector 106 is configured to obtain certain information (denoted“events”) from logs 104 and to use such information to infer vacillationpatterns associated with user 102. A vacillation pattern may include,for example, a pattern of vacillating between potentially purchasingdifferent objects or a pattern of vacillating between potentiallypurchasing and not purchasing a single object. As noted above, the termobject may refer to any artifact that can act as a source of userindecision, including but not limited to products, services or vendors.

The information obtained from logs 104 by vacillation detector 106 forthe purposes of performing vacillation detection may include structuredinformation. For example, structured information obtained from logs 104may include, but is not limited to, time spent by a user on two distinctproduct reviews, information indicating that a user is searching for twocompetitive travel offers, information indicating that a user viewed thesame Web page(s) at different times of a day, information indicatingthat a user nearly completed but did not finalize a transaction,information indicating that a user revisited the same Web page duringthe same on-line session or across multiple on-line sessions,information indicating that a user has looked at objects in the sameclass or category, information that a user has moved between differentobjects in the same class or category, information indicating that auser has moved between the same object across two vendors, qualifiersfor objects provided by a user, or information indicating that a userperformed a search using the same keywords iteratively. These examplesare not intended to be limiting and persons skilled in the relevantart(s) will appreciate that other structured information may be used toinfer vacillation patterns associated with user 102.

The information obtained from logs 104 by vacillation detector 106 forthe purposes of performing vacillation detection may also includeunstructured information. Such unstructured information may include, forexample, user reviews or feedback about an object. Vacillation detector106 may be configured to perform sentiment analysis or entity extractionupon such unstructured text to determine whether it includes contentthat can be used to infer a vacillation pattern.

Once vacillation detector 106 has detected a vacillation patternassociated with user 102, vacillation detector 106 passes informationassociated with the detected vacillation pattern to a vacillationpackager 108.

3. Vacillation Packaging

As also discussed above in reference to system 100 of FIG. 1,vacillation packager 108 is configured to obtain information associatedwith detected vacillation patterns from vacillation detector 106 and touse such information to construct a Vacillation Event Model (VEM). A VEMis a data structure that stores information about a detected vacillationpattern in a common format that facilitates analysis and comparison. Inan embodiment in which VEMs are provided to third-party businesses, theuse of a common format makes it easier for such third-party businessesto understand, use and even augment or extend the data structure.

In one embodiment, the VEM is described by the following form:

user u₁, objects O₁ . . . O_(n), strength S₁ . . . S_(n)

wherein u1 is a unique identifier associated with a particular user, O₁. . . O_(n) are the objects about which the user is vacillating, and S₁. . . S_(n) is the degree of vacillation demonstrated by the user withrespect to each of the corresponding objects O₁ . . . O_(n). Metadataabout a particular user, object, or vacillation pattern may also beincluded to supplement this core VEM data structure. By way of example,such metadata may include but is not limited to information concerninghow many times a particular Web page was visited, specific query termsor keywords submitted by a user, additional user demographics, or thelike.

After a VEM has been constructed, at least two actions may be taken withrespect to the VEM. First, the VEM can be used to directly engage user102 in a decision-making process via a vacillation presentation system110. Second, the VEM may be stored in a vacillation data warehouse 112.

4. Vacillation Presentation

Vacillation presentation system 110 makes use of VEMs constructed byvacillation packager 108 to directly engage user 102 in adecision-making process. Vacillation presentation system 110 isconfigured to perform this function by providing information to user 102via a user interface of a client system/device. Such information mayinclude, for example, supplemental information for a user in a state ofvacillation, advertising relating to products, services or vendorsinvolved in the vacillation, or coupons or other commercial incentivesfor a product, service or vendor involved in the vacillation.

In accordance with an embodiment of the present invention, vacillationpresentation system 110 may be used to provide an intervention that ismuch richer than a simple resource or suggestion. For example, such anintervention may take the form of a detailed “how-to” guide for aidingin a purchase decision, an identification of related objects that extendbeyond a user's search, an identification of an object that mostindividuals ended their vacillation with, or an identification of otherusers who are currently vacillating with respect to the same or similarobjects, topics or resources.

In accordance with one implementation, the vacillation presentationdelivered by system 110 initially requests user 102 to indicate whetheror not he/she is actually vacillating. If user 102 responds positively,then the presentation may proceed, whereas if user 102 respondsnegatively, then the presentation may be aborted. The user response tothis inquiry may also be provided as feedback for use in improving theperformance of vacillation detector 106. In one embodiment, the feedbackis processed directly by a machine learning algorithm within vacillationdetector 106.

In accordance with another implementation, the content or appearance ofa Web page is automatically modified or augmented to take into accountthe state of vacillation of the user. For example, if a user has left afirst Web page offering a first product for sale to visit a second Webpage offering a competing product for sale and then returns to the firstWeb page, the first Web page may be automatically modified to take intoaccount the state of indecision of the user. These modifications mayinclude the provision of additional information explaining differencesbetween the competing products or a coupon or discount with respect tothe first product.

As noted above, vacillation presentation system 110 may optionally beconfigured to provide a “null” vacillation presentation that may beimplemented in the form of a user call-out. For example, althoughvacillation detector 106 may not detect vacillation on the part of user102, an interface may nevertheless be provided to user 102 by which user102 can request engagement in a decision-making process. For example,the interface may comprise a button or other selectable user interfaceobject that essentially states “Help, I cannot decide.” Any actionsperformed in response to user engagement via this “null” vacillationpresentation may provide the same outcomes as any other vacillationpresentation described herein.

The vacillation presentation may occur within the context of the sameon-line session during which information associated with the on-linebehavior of user 102 is obtained. FIG. 4 is a block diagram of anexample system 400 that would facilitate this. As shown in FIG. 4, auser of a client system/device 402 engages in on-line activities with aserver 406 via a network 404. Information associated with the on-linebehavior of the user is stored in logs 104. Vacillation detector 106obtains such information from logs 104 and detects a vacillation patterntherefrom. Information associated with the vacillation pattern is usedby vacillation packager 108 to construct a VEM. Based on the VEM,vacillation presentation system 110 presents a vacillation presentationto the user via server 406 during the same on-line session from whichthe user on-line behavior information was obtained.

In alternate embodiments, vacillation presentation system 110 maypresent the vacillation presentation to user 102 during a differenton-line session than the session in which the user on-line behaviorinformation was obtained or send such information to a different clientsystem/device than the one from which the user on-line behaviorinformation was obtained. Furthermore, the vacillation presentation maybe delivered to the user off-line. For example, the vacillationpresentation may be sent as a message to the user after the user haslogged off a session.

B. Example Methods for User Vacillation Detection and Response

FIG. 5 is a flowchart of a method 500 for detecting and responding touser vacillation in accordance with an embodiment of the presentinvention. The steps of flowchart 500 will now be described withcontinued reference to system 100 of FIG. 1, although the method is notlimited to that implementation.

At step 502, information associated with the on-line behavior of user102 is stored in one or more logs 104. The information may includeinformation associated with on-line activities performed by user 102during one or more Internet browsing sessions. The information may alsoinclude information associated with on-line activities performed by user102 via one or more client systems or devices.

At step 504, vacillation detector 106 obtains the information from logs104 and, at step 506, vacillation detector 106 automatically detects avacillation pattern based on the obtained information. Detecting thevacillation pattern may include detecting a pattern of vacillatingbetween potentially purchasing different objects. Detecting thevacillation pattern may also include detecting a pattern of vacillatingbetween potentially purchasing and not purchasing a single object.

At step 508, vacillation packager 108 constructs a vacillation eventdata structure based on the obtained information in response to thedetection of the vacillation pattern by vacillation detector 106. In anembodiment, the vacillation event data structure identifies one or moreobjects associated with the vacillation pattern.

At step 510, vacillation presentation system 110 provides informationrelating to at least one object associated with the vacillation patternto user 102 in response to the detection of the vacillation pattern. Inan embodiment, the at least one object comprises one of a product,service or vendor. In a further embodiment, the provided informationincludes at least one of: supplemental information associated with theat least one object, an advertisement associated with the at least oneobject, and a commercial incentive (e.g., a coupon) associated with theat least one object. Providing the information relating to the at leastone object may include providing information relating to at least oneobject identified in a vacillation event data structure. Providing theinformation relating to the at least one object may also includeproviding the information during the same Internet browsing session inwhich the user on-line behavior information was obtained for storage inlogs 104.

FIG. 6 is a flowchart of a method 600 for detecting and responding touser vacillation in accordance with an alternate embodiment of thepresent invention. The steps of flowchart 600 will now be described withcontinued reference to system 100 of FIG. 1, although the method is notlimited to that implementation.

At step 602, information associated with the on-line behavior of user102 is stored in one or more logs 104.

At step 604, vacillation detector 106 obtains the information from logs104 and, at step 606, vacillation detector 106 automatically detects avacillation pattern based on the obtained information.

At step 608, information associated with the vacillation pattern isstored in a data warehouse (e.g., vacillation data warehouse 112). Thisstep may include the construction of a vacillation event data structureby vacillation packager 108 based on the obtained information and thestorage of the vacillation event data structure in the data warehouse.In an embodiment, the vacillation event data structure identifies one ormore objects associated with the vacillation pattern. Step 608 may alsoinclude storing feedback information associated with on-line behavior ofthe user in response to the presentation to the user of informationrelating to at least one object associated with the vacillation pattern.

At step 610, third-party distribution system 114 provides theinformation stored in the data warehouse in step 608 to a businessentity. The business entity may comprise one of a retailer, marketer oradvertiser. Providing the stored information to the business entity mayinclude generating statistical information concerning the behavior of aplurality of users, wherein the generation of the statisticalinformation is based in part on the stored information, and providingthe statistical information to the business entity.

C. Example Computer System Implementation

Various elements depicted in FIGS. 1-4 as well as each of the methods orsteps depicted in FIGS. 5 and 6 may be implemented using any well-knownprocessor-based computer system. An example of such a computer system700 is depicted in FIG. 7.

As shown in FIG. 7, computer system 700 includes a processing unit 704that includes one or more processors. Processor unit 704 is connected toa communication infrastructure 702, which may comprise, for example, abus or a network.

Computer system 700 also includes a main memory 706, preferably randomaccess memory (RAM), and may also include a secondary memory 720.Secondary memory 720 may include, for example, a hard disk drive 722, aremovable storage drive 724, and/or a memory stick. Removable storagedrive 724 may comprise a floppy disk drive, a magnetic tape drive, anoptical disk drive, a flash memory, or the like. Removable storage drive724 reads from and/or writes to a removable storage unit 728 in awell-known manner. Removable storage unit 728 may comprise a floppydisk, magnetic tape, optical disk, or the like, which is read by andwritten to by removable storage drive 724. As will be appreciated bypersons skilled in the relevant art(s), removable storage unit 728includes a computer usable storage medium having stored therein computersoftware and/or data.

In alternative implementations, secondary memory 720 may include othersimilar means for allowing computer programs or other instructions to beloaded into computer system 700. Such means may include, for example, aremovable storage unit 730 and an interface 726. Examples of such meansmay include a program cartridge and cartridge interface (such as thatfound in video game devices), a removable memory chip (such as an EPROM,or PROM) and associated socket, and other removable storage units 730and interfaces 726 which allow software and data to be transferred fromthe removable storage unit 730 to computer system 700.

Computer system 700 may also include a communications interface 740.Communications interface 740 allows software and data to be transferredbetween computer system 700 and external devices. Examples ofcommunications interface 740 may include a modem, a network interface(such as an Ethernet card), a communications port, a PCMCIA slot andcard, or the like. Software and data transferred via communicationsinterface 740 are in the form of signals which may be electronic,electromagnetic, optical, or other signals capable of being received bycommunications interface 740. These signals are provided tocommunications interface 740 via a communications path 742.Communications path 742 carries signals and may be implemented usingwire or cable, fiber optics, a phone line, a cellular phone link, an RFlink and other communications channels.

As used herein, the terms “computer program medium” and “computer usablemedium” are used to generally refer to media such as removable storageunit 728, removable storage unit 730, a hard disk installed in hard diskdrive 722, and signals received by communications interface 740.Computer program medium and computer useable medium can also refer tomemories, such as main memory 706 and secondary memory 720, which can besemiconductor devices (e.g., DRAMs, etc.). These computer programproducts are means for providing software to computer system 700.

Computer programs (also called computer control logic, programminglogic, or logic) are stored in main memory 706 and/or secondary memory720. Computer programs may also be received via communications interface740. Such computer programs, when executed, enable the computer system700 to implement features of the present invention as discussed herein.Accordingly, such computer programs represent controllers of thecomputer system 700. Where the invention is implemented using software,the software may be stored in a computer program product and loaded intocomputer system 700 using removable storage drive 724, interface 726, orcommunications interface 740.

The invention is also directed to computer program products comprisingsoftware stored on any computer useable medium. Such software, whenexecuted in one or more data processing devices, causes a dataprocessing device(s) to operate as described herein. Embodiments of thepresent invention employ any computer useable or readable medium, knownnow or in the future. Examples of computer useable mediums include, butare not limited to, primary storage devices (e.g., any type of randomaccess memory), secondary storage devices (e.g., hard drives, floppydisks, CD ROMS, zip disks, tapes, magnetic storage devices, opticalstorage devices, MEMs, nanotechnology-based storage device, etc.), andcommunication mediums (e.g., wired and wireless communication networks,local area networks, wide area networks, intranets, etc.).

D. Conclusion

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. It will be understood by those skilledin the relevant art(s) that various changes in form and details may bemade therein without departing from the spirit and scope of theinvention as defined in the appended claims. Accordingly, the breadthand scope of the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

1. A method for detecting and responding to user vacillation,comprising: obtaining information associated with on-line behavior of auser; automatically detecting a vacillation pattern based on theobtained information; and providing information relating to at least oneobject associated with the vacillation pattern to the user in responseto detecting the vacillation pattern.
 2. The method of claim 1, whereinobtaining information associated with the on-line behavior of the usercomprises: obtaining information associated with on-line activitiesperformed by the user during one or more Internet browsing sessions. 3.The method of claim 1, wherein obtaining information associated with theon-line behavior of the user comprises: obtaining information associatedwith on-line activities performed by the user via one or more clientsystems or devices.
 4. The method of claim 1, wherein detecting avacillation pattern comprises: detecting a pattern of vacillatingbetween potentially purchasing different objects.
 5. The method of claim1, wherein detecting a vacillation pattern comprises: detecting apattern of vacillating between potentially purchasing and not purchasinga single object.
 6. The method of claim 1, further comprising:constructing a vacillation event data structure based on the obtainedinformation in response to detecting the vacillation pattern, whereinthe vacillation event data structure identifies one or more objectsassociated with the vacillation pattern; wherein providing informationrelating to at least one object associated with the vacillation patterncomprises providing information relating to at least one objectidentified in the vacillation event data structure.
 7. The method ofclaim 1, wherein the at least one object associated with the vacillationpattern comprises one of a product, service or vendor.
 8. The method ofclaim 1, wherein providing information relating to at least one objectassociated with the vacillation pattern comprises providing at least oneof: supplemental information associated with the at least one object, anadvertisement associated with the at least one object, and a commercialincentive associated with the at least one object.
 9. The method ofclaim 1, wherein obtaining information associated with the on-linebehavior of the user comprises obtaining information associated withon-line activities performed by a user during an Internet browsingsession, and wherein providing information relating to at least oneobject associated with the vacillation pattern to the user comprisesproviding information relating to the at least one object during thesame Internet browsing session.
 10. A method for detecting andresponding to user vacillation, comprising: obtaining informationassociated with on-line behavior of a user; automatically detecting avacillation pattern based on the obtained information; storinginformation associated with the vacillation pattern in a data warehouse;and providing the stored information to a business entity, wherein thebusiness entity comprises one of a retailer, marketer or advertiser. 11.The method of claim 10, wherein storing information associated with thevacillation pattern in a data warehouse comprises: constructing avacillation event data structure based on the obtained information inresponse to detecting the vacillation pattern, wherein the vacillationevent data structure identifies one or more objects associated with thevacillation pattern; and storing the vacillation event data structure inthe data warehouse.
 12. The method of claim 10, wherein storinginformation associated with the detected vacillation pattern in a datawarehouse comprises: storing feedback information associated withon-line behavior of the user in response to the presentation to the userof information relating to at least one object associated with thevacillation pattern.
 13. The method of claim 10, wherein providing thestored information to a business entity comprises: generatingstatistical information derived from an analysis of the behavior of aplurality of users, wherein the generation of the statisticalinformation is based in part on the stored information; and providingthe statistical information to the business entity.
 14. A system fordetecting and responding to user vacillation, comprising: one or morelogs configured to store information associated with on-line behavior ofa user; a vacillation detector configured to obtain the informationassociated with the on-line behavior of the user from the one or morelogs and to automatically detect a vacillation pattern based on theobtained information; and a vacillation presentation system configuredto provide information relating to at least one object associated withthe vacillation pattern to the user in response to the detection of thevacillation pattern by the vacillation detector.
 15. The system of claim14, wherein the one or more logs are configured to store informationassociated with on-line activities performed by the user during one ormore Internet browsing sessions.
 16. The system of claim 14, wherein theone or more logs are configured to store information associated withon-line activities performed by the user via one or more client systemsor devices.
 17. The system of claim 14, wherein the vacillation detectoris configured to detect a pattern of vacillating between potentiallypurchasing different objects.
 18. The system of claim 14, wherein thevacillation detector is configured to detect a pattern of vacillatingbetween potentially purchasing and not purchasing a single object. 19.The system of claim 14, further comprising: a vacillation packagerconfigured to constructing a vacillation event data structure based onthe obtained information in response to the detection of the vacillationpattern by the vacillation detector, wherein the vacillation event datastructure identifies one or more objects associated with the vacillationpattern; wherein the vacillation presentation system is configured toprovide information relating to at least one object identified in thevacillation event data structure.
 20. The system of claim 14, whereinthe at least one object associated with the vacillation patterncomprises one of a product, service or vendor.
 21. The system of claim14, wherein the vacillation presentation system is configured to provideat least one of: supplemental information associated with the at leastone object, an advertisement associated with the at least one object,and a commercial incentive associated with the at least one object. 22.A system for detecting and responding to user vacillation, comprising:one or more logs configured to store information associated with on-linebehavior of a user; a vacillation detector configured to obtain theinformation associated with the on-line behavior of the user from theone or more logs and to automatically detect a vacillation pattern basedon the obtained information; a vacillation packager configured to storeinformation associated with the vacillation pattern in a data warehouse;and a third-party distribution system configured to provide the storedinformation to a business entity, wherein the business entity comprisesone of a retailer, marketer or advertiser.
 23. The system of claim 22,wherein the vacillation packager is configured to construct avacillation event data structure based on the obtained information inresponse to the detection of the vacillation pattern by the vacillationdetector, wherein the vacillation event data structure identifies one ormore objects associated with the vacillation pattern, and to store thevacillation event data structure in the data warehouse.
 24. The systemof claim 22, wherein the vacillation packager is configured to storefeedback information in the data warehouse, wherein the feedbackinformation is associated with on-line behavior of the user in responseto the presentation to the user of information relating to at least oneobject associated with the vacillation pattern.
 25. The system of claim22, wherein the third-party distribution system is configured togenerate statistical information derived from an analysis of thebehavior of a plurality of users, wherein the generation of thestatistical information is based in part on the stored information andto provide the statistical information to the business entity.